From a47d6cdb07709c941993e334f9bd82b3aec11dac Mon Sep 17 00:00:00 2001 From: Boris Ostrovsky Date: Wed, 18 Mar 2015 14:19:01 +0100 Subject: [PATCH] x86/VPMU: VPMU should not exist when vpmu_initialise() is called We don't need to try to destroy it since it can't be already allocated at the time we try to initialize it. Suggested-by: Andrew Cooper Signed-off-by: Boris Ostrovsky --- xen/arch/x86/hvm/svm/vpmu.c | 3 --- xen/arch/x86/hvm/vpmu.c | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/xen/arch/x86/hvm/svm/vpmu.c b/xen/arch/x86/hvm/svm/vpmu.c index 64dc1678f1..6764070ddb 100644 --- a/xen/arch/x86/hvm/svm/vpmu.c +++ b/xen/arch/x86/hvm/svm/vpmu.c @@ -359,9 +359,6 @@ static int amd_vpmu_initialise(struct vcpu *v) struct vpmu_struct *vpmu = vcpu_vpmu(v); uint8_t family = current_cpu_data.x86; - if ( vpmu_is_set(vpmu, VPMU_CONTEXT_ALLOCATED) ) - return 0; - if ( counters == NULL ) { switch ( family ) diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c index 0e6b6c022b..c3273ee64b 100644 --- a/xen/arch/x86/hvm/vpmu.c +++ b/xen/arch/x86/hvm/vpmu.c @@ -236,10 +236,7 @@ void vpmu_initialise(struct vcpu *v) if ( is_pvh_vcpu(v) ) return; - if ( vpmu_is_set(vpmu, VPMU_CONTEXT_ALLOCATED) ) - vpmu_destroy(v); - vpmu_clear(vpmu); - vpmu->context = NULL; + ASSERT(!vpmu->flags && !vpmu->context); switch ( vendor ) { -- 2.30.2